package com.neo.pattern.strategy;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

/**
 * 模式枚举
 * @author neofaster
 */
@Getter
@RequiredArgsConstructor
public enum Mode {
    /**
     * 手动模式
     */
    MANUAL(
            Picker::apertureFixed,
            Picker::shutterFixed
    ),
    /**
     * 光圈优先模式
     */
    APERTURE_PRIORITY(
            Picker::apertureFixed,
            Picker::pickShutter
    ),
    /**
     * 快门优先
     */
    SHUTTER_PRIORITY(
            Picker::pickAperture,
            Picker::shutterFixed
    )
    ;


    private final Picker<Aperture> aperturePicker;
    private final Picker<Shutter> shutterPicker;

}
